package gov.fema.hazus.bdc.server.servlet;

import gov.fema.hazus.bdc.shared.entity.AEBMResults;
import gov.fema.hazus.bdc.shared.entity.Address;
import gov.fema.hazus.bdc.shared.entity.Bracing;
import gov.fema.hazus.bdc.shared.entity.Building;
import gov.fema.hazus.bdc.shared.entity.Capacity;
import gov.fema.hazus.bdc.shared.entity.Contact;
import gov.fema.hazus.bdc.shared.entity.EarthquakeBuildingDesign;
import gov.fema.hazus.bdc.shared.entity.EarthquakeHazard;
import gov.fema.hazus.bdc.shared.entity.EarthquakeSecondaryCharacteristics;
import gov.fema.hazus.bdc.shared.entity.Economy;
import gov.fema.hazus.bdc.shared.entity.FloodBasement;
import gov.fema.hazus.bdc.shared.entity.FloodBuildingDesign;
import gov.fema.hazus.bdc.shared.entity.FloodHazard;
import gov.fema.hazus.bdc.shared.entity.Location;
import gov.fema.hazus.bdc.shared.entity.ManufacturedHousing;
import gov.fema.hazus.bdc.shared.entity.Roof;
import gov.fema.hazus.bdc.shared.entity.User;
import gov.fema.hazus.bdc.shared.entity.WallsAndOpenings;
import gov.fema.hazus.bdc.shared.entity.WindBuildingDesign;
import gov.fema.hazus.bdc.shared.entity.WindHazard;

import com.googlecode.objectify.ObjectifyService;
import com.googlecode.objectify.helper.DAOBase;

public class DAO extends DAOBase {
	
	 static
	 {
		 ObjectifyService.register(Building.class);
		 ObjectifyService.register(AEBMResults.class);
		 ObjectifyService.register(Address.class);
		 ObjectifyService.register(Location.class);
		 ObjectifyService.register(Contact.class);
		 ObjectifyService.register(Economy.class);
		 ObjectifyService.register(Capacity.class);
		 ObjectifyService.register(Bracing.class);
		 ObjectifyService.register(EarthquakeHazard.class);
		 ObjectifyService.register(EarthquakeBuildingDesign.class);
		 ObjectifyService.register(EarthquakeSecondaryCharacteristics.class);
		 ObjectifyService.register(FloodBasement.class);
		 ObjectifyService.register(FloodBuildingDesign.class);
		 ObjectifyService.register(FloodHazard.class);
		 ObjectifyService.register(ManufacturedHousing.class);
		 ObjectifyService.register(Roof.class);
		 ObjectifyService.register(WallsAndOpenings.class);
		 ObjectifyService.register(WindBuildingDesign.class);
		 ObjectifyService.register(WindHazard.class);
		 
		 ObjectifyService.register(User.class);
		 
		 ObjectifyService.setDatastoreTimeoutRetryCount(3);
	 }
}
